home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Merciful 5
/
Merciful - Disc 5.iso
/
software
/
p
/
pcqpascalv1.2d.lha
/
Examples2
/
MemSize
/
MemSize.Anl
next >
Wrap
Text File
|
1997-05-06
|
7KB
|
213 lines
.--------------.
|
MemSize V1.1
|
`--------------'
1. Allgemeines
MemSize V1.1 ist © copyright 9-11/94 by Stefan Grad.
Es wurde in PCQ-Pascal geschrieben und getestet.
2. Rechtliches
MemSize ist Freeware, d.h. jeder darf es unter den folgenden Auflagen frei
benutzen und weiterkopieren:
- Es darf weder der Sourcecode noch der compilierte Programmcode verändert
werden.
Es ist allerdings erlaubt, den Sourcecode als Ganzes oder Teile davon ver-
ändert oder im Originalzustand in eigene Programme einzubinden. Das daraus
entstandene Programm darf aber nicht den Namen "MemSize" tragen. Auch ein
Hinweis auf die Quelle der Routine (und eine Version des Programmes für
meine PD-Serie "GPD") wäre ganz nett.
- Es ist auch erlaubt, das Programm ohne Sourcecode und/oder Anleitung zu
verbreiten. Dem Sourcecode und/oder der Anleitung muß aber immer das Pro-
gramm beiliegen.
- Es ist verboten, MemSize auf kommerzielle Diskettenmagazine (ja, genau die
für 19,80 DM und so) und ähnlichem zu übernehmen.
Sonstiger Vertrieb auf PD-Serien/via DFÜ ist erlaubt.
Achtung:
Ich übernehme keinerlei Verantwortung über Schäden die direkt oder
indirekt aus der korrekten oder falschen Benutzung dieses Programmes
entstehen könnten!
3.Systemvoraussetzungen
Beliebiger Amiga mit OS1.2 (?) oder höher. Ich konnte es leider noch auf kei-
nem Rechner mit OS1.2 testen; müßte aber laufen.
Unter OS1.3 oder kleiner muß der CLI-Befehl "run" im C: Verzeichnis vorhanden
sein.
4. Zweck
MemSize ist ein kleiner CLI-Befehl, der überprüft, ob eine bestimmte Spei-
chermenge frei ist und startet dann, sofern dies (nicht) der Fall ist, ein
bestimmtes Programm.
5. Benutzung (nur über CLI/Shell)
MemSize <MIN|MAX> <Size> <ProgramName>
Parameter:
<MIN> deklariert die übergebene Speichergröße als Minimalwert
<MAX> deklariert die übergebene Speichergröße als Maximalwert
<Size> Minimaler/maximaler (je nach Übergabe von MIN oder MAX)
freier Speicherplatz (in Bytes), damit <ProgramName> ge-
startet wird.
<Size> darf maximal 8 Ziffern lang sein.
Alle Stellen nach der 8. werden abgeschnitten.
Sind voranstehende Stellen "0", so haben diese keine Auswir-
kung. Es werden aber, auch wenn voranstehende Stellen "0"
sind, alle Stellen nach der 8. abgeschnitten.
Nicht-Ziffern werden intern aus der Zahl ausgeschnitten. Sie
haben somit keine Auswirkung.
Allerdings scheint PCQ-Pascal manche ASCII-Zeichen als Leer-
stellen zu interpretieren und somit das Ende des Parameters
zu bewirken (z.B. MemSize MIN 100000ß0 ProgrammName versucht
nicht etwa "ProgrammName" zu starten, sondern "0", was in
den meisten Fällen nicht möglich sein wird und zur Fehler-
meldung "Unknown Command 0" führen wird).
<ProgramName> Der Name des Programmes, das gestartet werden soll, wenn zu-
mindest/maximal der angegebene Speicherplatz frei ist.
<ProgramName> darf maximal 70 Zeichen lang sein.
Soll dem auszuführenden Programm ein Parameter übergeben wer-
den, muß dieses samt Parameter in Anführungszeichen gesetzt
werden.
Wird "MemSize" ohne Parameter oder mit fehlerhaftem 1. Parameter aufgerufen
(d.h. weder das Schlüsselwort MIN noch MAX wird übergeben), wird ein kleiner
Info-Text ausgegeben.
Ein Aufruf von "MemSize" mit fehlendem 2. und/oder 3. Parameter bewirkt gar-
nix.
Beispiele:
1>
MemSize MIN 100000 Programm
Startet bei einem freien Speicherplatz von mindestens 100.000 Bytes das "Pro-
gramm".
2>
MemSize MIN 10000a0 Programm
Wie 1>.
3>
MemSize MIN 0100000 "Programm"
Wie 1>
4>
MemSize MIN 000100000 "Programm"
Startet bei einem freien Speicherplatz von mindestens 10 KB (10000 Bytes) das
"Programm". (Die letzte "0" wird abgeschnitten!)
5>
MemSize MIN 1500000 "Programm 1500k"
Startet bei einem freien Speicherplatz von mindestens 1500000 Bytes das "Pro-
gramm" mit dem Übergabeparameter 1500k.
6>
MemSize ?
Gibt einen kleinen Info-Text aus.
7>
MemSize MAX 100000 Programm
Startet bei einem freien Speicherplatz von höchstens 100.000 Bytes das "Pro-
gramm".
Ich denke, das genügt.
6. Danksagungen
Ich danke an dieser Stelle Patrick Quaid für seinen hervorragenden Pascal-
Compiler "PCQ-Pascal" (V1.2b) sowie allen weiteren Autoren, deren Programme
mir bei der Programmierung von MemSize behilflich waren.
Außerdem danke ich Bernd "Diesel" Künnen für die Pascal-PD-Serie "Purity"
(die gibt´s übrigens bei mir im Abo...) und allerlei nützliche Tips zur Pro-
grammierung in PCQ-Pascal,...
Schließlich möchte ich noch dem Autor von "Amiga Profi Know How (Teil 1: Sy-
stemprogrammierung)" - Stefan Maelger - für dieses hervorragende und für je-
den Programmierer empfehlenswerte Nachschlagewerk danken. (Data Becker)
Und natürlich wie immer allen, die ich vergessen habe...
7. Bekannte Fehlerquellen
Ich habe versucht, sämtliche Bedienfehler soweit wie möglich auszuschließen.
Allerdings gibt es 3 kleine Probleme:
1. Die Länge der Parameter ist begrenzt (<Size> auf 8 Zeichen und <Program-
Name> auf 70). Ich denke aber, daß diese Werte ausreichen.
2. PCQ-Pascal sieht offenbar bestimmte ASCII-Codes, die keine Leerzeichen
sind, in Übergabeparametern trotzdem als solche an (darunter auch die im
Deutschen recht gebräuchlichen Zeichen ß,ä,ö,ü). In Programmnamen dürften
diese also normalerweise nicht vorkommen.
Abhilfe schafft man, indem man den Programmnamen in Anführungszeichen
setzt. Somit ist also z.B. auch
MemSize 100000 "Schießspiel"
möglich.
3. Leerstellen in Programmnamen sind nicht erlaubt - auch nicht in Anfüh-
rungszeichen! (scheint auch am PCQ zu liegen...)
8. Programmgeschichte
V1.0
(26.9.1994):
Erste Veröffentlichung.
V1.1
(20.11.1994):
- neuer Parameter MIN | MAX:
bei Übergabe von MIN wird die übergebene Speichergröße als Minimalwert be-
handelt (wie in V1.0), bei Übergabe von MAX als Maximalwert (neu)
- verbesserter Infotext (kursiv wird nach USAGE wieder ausgeschaltet)
- Anzeige des Infotextes jetzt immer bei fehlerhaftem 1. Parameter, und nicht
mehr nur bei der Übergabe von "?" als 1. Parameter
Neue Versionen...
...erscheinen natürlich immer auf der PURITY - DER Serie für Pascal-Program-
mierer - egal ob PCQ-, Kick- oder ??-Pascal...
Abos gibt´s übrigens bei mir!
9. Kontaktadresse
Natürlich bin ich immer offen für Verbesserungsvorschläge, Bug-Reports (?!?),
Zuwendungen jeglicher Art (!!!), Interessenten an meiner DEUTSCHEN FD-Serie
"GPD" (alles mit deutschen Anleitungen, Disks randvoll, aktuell,...), u.a.
Wer mich also kontaktieren will, schreibt bitte an:
Stefan Grad, Bahnhofstr. 37, 78588 Denkingen, Deutschland.
Wenn Ihr Antwort erhalten wollt, legt bitte ausreichend Rückporto bei!